import Vue from 'vue'
import App from './App.vue'

Vue.config.productionTip = false

// 引入路由
import VueRouter from 'vue-router'
import router from './router'
Vue.use(VueRouter)

// 引入elementui
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);

// 引入vuex
import store from './store'

// 创建全局EventBus
Vue.prototype.$EventBus = new Vue()

// 挂载框架中的一些变量
import axios from 'axios'
import api from './common/api/api';
import _enum from './common/enum/enum';

// 将接口、枚举挂载到vue原型上
Vue.prototype.$api = api;
Vue.prototype.$enum = _enum;
// 通过generate-asset-webpack-plugin将自定义配置挂载到Vue原型上：https://www.cnblogs.com/matd/p/11412428.html
// serverconfig.json定义在vue.config.js中
axios.get('serverconfig.json').then(res => {
    // 将项目的自定义配置挂载Vue原型上，
    Vue.prototype.serverConfig = res.data;
    // 初始化Vue实例
    initVue();
})


function initVue () {
    // elementui国际化，国际化简写：https://www.cnblogs.com/universe-cosmo/p/11534483.html
    const language2ElementLanguage = {
        "zh-cn": "zh-CN",
        "zh-tw": "zh-TW"
    }
    let elementUILanguage = language2ElementLanguage[Vue.prototype.serverConfig.language];
    const locale = require(`element-ui/lib/locale/lang/${elementUILanguage}`)
    Vue.use(ElementUI, { locale: locale.default })
    new Vue({
        i18n: elementUILanguage,
        router,
        store,
        render: h => h(App)
    }).$mount('#app')
}

// css主题
import { changeTheme } from '@/assets/theme/theme.js'
Vue.prototype.changeTheme = changeTheme; // 将切换主题方法挂载到Vue原型上



